package com.pond.pond.domain;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

@Getter
@Setter
public class PondOrder implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 订单编号 */
    private String orderNo;

    /** 用户ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /** 钓场ID（租户） */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long deptId;

    /** 鱼塘ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long pondId;
    
    /** 钓位ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long seatId;
    
    /** 订单类型（1-预约订单，2-直接订单） */
    private Integer orderType;
    
    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /** 预约ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long appointmentSegmentId;

    /** 订单状态（0-未完成，1-已完成，2-已取消） */
    private Integer status;

    /** 总金额 */
    private Double totalAmount;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "GMT+8")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "GMT+8")
    private Date updateTime;

    /** 是否删除（0 否 1 是） */
    @TableLogic
    private Integer delFlag;
}
